package com.qf.utils;


import com.alibaba.druid.pool.DruidDataSourceFactory;

import javax.sql.DataSource;
import java.io.InputStream;
import java.sql.Connection;
import java.util.Properties;

//德鲁伊连接池工具类
public class DruidUtil {
    //基于数据源Datasource，数据源获得对应connection
    private  static DataSource dataSource;

    //类加载的时候就要执行，进行初始化
    //静态代码块
    static {



        //map   properties继承Hashtable  就是一个map
        Properties properties=new Properties();



        
        try {
            //输入流对象
            //通过类加载器获取对应的输入流对象
            //类加载器怎么获取  现货区对应的字节码对象 class
            InputStream inputStream=DruidUtil.class.getClassLoader().getResourceAsStream("druid.properties");
            //加载配置文件 ，读取配置文件内容，将他加载（k:v）
            properties.load(inputStream);
            //数据源工厂加载对应的配置文件获取到数据源

            //dataSource = DruidDataSourceFactory.createDataSource(properties);
            dataSource=DruidDataSourceFactory.createDataSource(properties);
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
    //从数据源中获取连接对象
    public static Connection getConnection() throws Exception{
        return dataSource.getConnection();
    }

    //获取连接池（数据源）
    public static DataSource getDataSource() {
        return dataSource;
    }
}
